###########################################################################
# TSL-BIBLIOTHEK:	FRM_Benutzer_Lib
###########################################################################
# $Revision: 1.6 $
# $Author: BKahlau $
# $Date: 2001/07/25 
# $Source: 
# $NoKeywords: $
###########################################################################
#**# 
#*	Diese Library enthlt Funktionen die zur Ausfhrung der
#*	Benutzerverwaltung bentigt werden.
#* 
#*	TLSTEP_OUT_PLUS ( in comtext,in login)
#*	TLSTEP_OUT_MINUS ( in comtext,in login, in val)
#*	Window_exist()
#*	FRM_Login ( in table, in test, in idx, in mode )
#*
#*
#*@Author: drajovic
#*/

#**
#*	TLSTEP_OUT_PLUS
#*	
#*
#* @param comtext	(in)	Vergleichstext
#* @param login	(in)	Message
#*/


function TLSTEP_OUT_PLUS ( in comtext,in login)
{
					tl_step("Verify Text",E_OK,comtext&" text :"&login);
					button_press ("OK");
					set_window ("Login");
					button_press ("Cancel");
					return;
}
#**
#*	TLSTEP_OUT_MINUS
#*	
#*
#* @param comtext	(in)	Vergleichstext
#* @param login	(in)	Message
#*/

function TLSTEP_OUT_MINUS ( in comtext,in login, in val)
{
					report_msg("EXPECTET :" & val); 
					tl_step("Verify Text",1,comtext&" text :"&login);
					button_press ("OK");
					set_window ("Login");
					button_press ("Cancel");
					return;
}
#**
#*	Window_exist() fragt die Existenz von Login und App-Fenster ab
#*	
#*
#*/

public function Window_exist()
{
if (win_exists("Flight Reservation")  == E_OK)
	{
		set_window ("Flight Reservation",1);
		menu_select_item ("File;Exit");
		if  (win_exists("Flight Reservation Message")  == 0)
			{
			set_window ("Flight Reservation Message", 1);
			button_press ("Nein");
			}
		wait(2);
	}
if (win_exists("Login")  == E_OK)
	{
		set_window ("Login",1);
		button_press ("Cancel");
		wait(2);
	}
wait(2);	
}

#**
#*	FRM_Login fhrt das login unter Bercksichtigung eines eventuell aufpoppendem  
#*	Message-Fenster aus
#*
#* @param comtext	(in)	Vergleichstext
#* @param login	(in)	Message
#*/
public function FRM_Login ( in table, in test, in idx, in mode )
{
	static const 
	applic1="fltvb41a.exe",
	AUT_1A_PATH = MROOT & "\\samples\\vb\\app";
	auto rc,val,login,name,pw,comtext;
	rc = FRM_init_block( table, test, idx, mode );
	if ( rc != E_OK )
		return rc;
	Window_exist();
	invoke_application(applic1,"",AUT_1A_PATH,SW_SHOWNORMAL	);
	rc+=set_window( "Login", 20 );
	rc+=FRM_edit_set( table, test, "AgentsName" );
	rc+=FRM_edit_set( table, test, "Password" );
	rc+=FRM_skip( table, -2 );
	rc+=FRM_get_next( table, test, name );
	rc+=FRM_get_next( table, test, pw );
	rc+=FRM_button_press ( table, test,"Cancel");
	if ( rc == E_FRM_SKIP )
		rc = E_OK;
	rc+=FRM_button_press ( table, test,"OK");
	comtext=name & ";" & pw;
	#------------------------------------------
	#Vergleich mit Massage
	#-----------------------------------------
	rc+=FRM_get_next( table, test, val );
	if ( rc == E_FRM_SKIP )
		rc = E_OK;
	else if ( rc == E_OK )
	{
		if  (win_exists("Flight Reservation Message")  == 0)
			{
			set_window ("Flight Reservation Message");
			obj_get_text ("message",login );

			if ( compare_text (login, val )==1)
				TLSTEP_OUT_PLUS(comtext,login);
			else
				{
				TLSTEP_OUT_MINUS(comtext,login,val);
				rc=1;
				return rc;
				}
			}
		else	
			{
			set_window ("Flight Reservation",12);

			if (val!="<leer>")
				{
				tl_step("unallowed login",1,comtext);
				return;
				}
			else
				{
				button_press ("TB_NewOrder");
				tl_step("allowed login",0,comtext);
				win_move ("Flight Reservation", 1, 1);
				}
	
			}


	}
	

	return rc;
}
